package java学习.第13章_泛型;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

/**
 * ClassName: B_泛型的的使用
 * Package: java学习.第13章_泛型
 * Description:
 *
 * @Author 张蛟龙
 * @Create 2023/4/6 18:07
 * @Version 1.0
 */
public class C_泛型方法 {
    @Test
    public void 测试泛型方法() {
        //测试泛型方法
        Integer[] integers = new Integer[]{1,2,3,4,5,6,7,8,9};
        //JDK10  var可以进行类型推断
//        var integers = new Integer[]{1,2,3,4,5,6,7,8,9};
        System.out.println(integers);
        //泛型方法在调用时，指明泛型参数的类型。  所以可以静态
        List<Integer> cp = cp(integers);
        System.out.println(cp);
    }

    /**
     * 泛型方法
     * 在方法中出现了泛型的结构，泛型参数与类的泛型参数没有任何关系。
     * 泛型方法所属的类是不是泛型类都没有关系。
     *
     */
    private static <E> List<E> cp(E[] arr) {
        List<E> list = new ArrayList<>();
        for (E e : arr) {
            list.add(e);
        }
        return list;
    } //泛型方法


}
